In a distributed computer system it is convenient to have distributed management capability for data services such as data imaging, networked data replication and caching services. However, these services are typically implemented by low-level kernel routines running on each machine in the distributed system. One method of accomplishing such distributed management capability is to use a three-tiered data services management system. The lowest tier comprises management facade software running on each machine that converts a platform-dependent interface written with the low-level kernel routines to platform-independent method calls. The middle tier is a set of federated Java beans that communicate with the management facades and with the upper tier of the system. The upper tier of the inventive system comprises presentation programs that can be directly manipulated by management personnel to view and control the system. The federated beans allow managers located in one node of a multi-node network to locate and control data services running in other nodes.
Since the management system is distributed and multiple data services can be using the same data storage volumes, it can be difficult to determine which data service is using a given volume and how the data service is using the volume. Conflicts over the use of resources, such as data storage devices, can arise for a number of reasons. For example, in a multi-node system, managers in different nodes may attempt to use the same storage devices for different, conflicting purposes. Alternatively, in a clustered system, in which several host processors share the same storage device, managers in different host systems may also be in conflict over the common storage devices.
Further, it may also be necessary to persist configuration information so that the system can be restarted correctly in the case of power outages or device failures.